<?php 
/********************************************************/
/* Controler encargado de trabajar la view home.php */
/********************************************************/
if (! defined('BASEPATH')) exit('No se vista que no vá');

class Home extends CI_Controller {

	/*********************/
    /* php 5 constructor */
    /*********************/
	function __construct() {
		parent::__construct();    
        $this->lang->load('home');
	}
	
    /**********************************************************************/
    /* Método encargado de cargar la vista home.php y pasarle el html */
    /**********************************************************************/
	function index() {
        $data = array("menu" => $this->displayMenu());
		$this->load->view('home', $data);
	}
    
    /*****************************************************/
    /* Método encargado de construir el menú desde la BD */
    /*****************************************************/
    function displayMenu($parent=0){
        $query = $this->db->query("SELECT menu.id, menu.nombre, hijos.count, menu.menu_icon, menu.href FROM menu LEFT OUTER JOIN (SELECT parent, COUNT(*) count FROM menu GROUP BY parent) hijos ON(menu.id = hijos.parent) INNER JOIN accesos ON (accesos.opcion_id = menu.id) WHERE menu.parent=$parent AND accesos.rol_id = ".$this->session->userdata('rol')." ORDER BY menu.order");
	    $list = ($parent == 0) ? "<ul id='m3nu'>" : "<ul id='$parent'>";
	    foreach($query->result() as $row) {
	        if ($row->count > 0) {
                $list .= ($row->href != '') ? "<li id='".$row->id."'><a href='".$row->href."'>" : "<li id='".$row->id."'><a>";
                $list .= ($row->menu_icon != "") ? "<span class='ui-icon ".$row->menu_icon." wijmo-wijmenu-icon-left'></span><span class='wijmo-wijmenu-text'>".$row->nombre."</span></a>" : $row->nombre."</a>";
	            $list .= $this->displayMenu($row->id);
	            $list .= "</li>";
	        } elseif ($row->count == 0) {
                $list .= ($row->href != '') ? "<li id='".$row->id."'><a href='".$row->href."'>" : "<li id='".$row->id."'><a>";
                $list .= ($row->menu_icon != "") ? "<span class='ui-icon ".$row->menu_icon." wijmo-wijmenu-icon-left'></span><span class='wijmo-wijmenu-text'>".$row->nombre."</span></a></li>" : $row->nombre."</a></li>";
            } else;
	    }
	    $list .= "</ul>";
        return $list;
    }
    
    function optionInicio(){
        $this->load->view("inicio");
    }
   
    /********************************************************************/
    /* Método encargado de obtener la pestaña para cada opción del menú */
    /********************************************************************/
    function getTabForOption(){
        $idItem = $this->input->post('idItem');
        $row = array();
        $row = $this->util->damerow("SELECT menu.id, menu.nombre, hijos.hijos, menu.tab_index, accesos.tab_open, accesos.tab_selected, menu.href, menu.url_tab_content FROM menu LEFT OUTER JOIN (SELECT parent, COUNT(*) hijos FROM menu GROUP BY parent) hijos ON(menu.id = hijos.parent) INNER JOIN accesos ON (accesos.opcion_id = menu.id) WHERE accesos.rol_id = ".$this->session->userdata('rol')." AND menu.id = $idItem ORDER BY menu.order");
        echo json_encode($row);
    }

    function getHomeForRole(){
        $row = $this->util->damerow("SELECT menu.id FROM menu INNER JOIN accesos ON(accesos.opcion_id = menu.id) WHERE menu.order=0 AND menu.parent = 0 AND accesos.rol_id = ".$this->session->userdata('rol'));
        $rows = $this->util->damerows("SELECT menu.id, accesos.tab_selected FROM menu INNER JOIN accesos ON(accesos.opcion_id = menu.id) WHERE (menu.order != 0 OR menu.parent != 0) AND accesos.tab_open = 1 AND accesos.rol_id = ".$this->session->userdata('rol'));
        $response = array();
        if(!empty($row))
            $response["tabHome"] = $row["id"];
        else
            $response["tabHome"] = '';
        if(!empty($rows))
            $response["tabsOpen"] = $rows;
        else
            $response["tabsOpen"] = 0;
        echo json_encode($response);
    }

}
?>